Everywhere we go in modern life we seem to be controlling devices, e.g., remotely controlling devices. By controlling it is meant sending commands such as control signals that change the operation of one controlled device or another. Such controlled devices can include home electronic devices like TVs or VCRs, lighting, and home appliances such as dishwashers, microwave ovens, washer/dryers, etc. These devices may have movable elements and their control may cause movement, e.g., doors, blinds or shades that are moved by remote control.
As our environment becomes more and more complex, we have more and more devices to control. For example, what used to be a single living room lamp a couple of generations ago, today may be replaced by ten different spotlights with dimmers. We also have as many as 500 television channels to choose from. We also can play DVDs, download music, and do wonders with a microwave oven.
The current state of the art in personal device control is the “Push Button” interface, in which a user is presented with a panel full of buttons (up to 50 in some cases), and where each button performs a different command, e.g., generates a control signal to change the operation of the controlled device.
Remote control devices are already in widespread use in the home electronic arena, where 99% of the controlled devices come with a bundled remote control device. In this area, namely the home electronic arena, we see also the Universal Remote control devices. These devices “unify” the set of buttons of multiple remote control devices into one remote control device. Typically the first operation a user performs with a universal remote control device (a “controlling device”) is to select the type of controlled device that the user wishes to control. Following that, a user can then push buttons to command the controlled device.
There are a lot of shortcomings in today's technology for remotely controlling devices, e.g., using a remote control:                (1) To remotely control even a single controlled device, there is a limit to what one can do by just having a limited set of predefined commands, e.g. buttons. For example, programming a VCR to record a TV program using a push button interface is accepted to be very difficult for most people. There thus is a limit to the complexity of operations using pushbuttons.                    The controlled devices become harder to use, e.g., more complicated.            The control of advance features of the controlled device becomes limited. For example, few people use an advanced feature, such as a “Cook Wizard,” of a microwave oven.            The design of new features in a controlled device becomes limited because not every feature can be simply controlled by a set of buttons.                        (2) When each controlled device has a separate remote control device, and there are multiple controlled devices, there is a physical problem of having too many remote control devices, e.g., too many separate remote controls.        (3) When, multiple controlled devices are in the same environment, it is often the case that they are connected to each other. While operating the devices, the user needs to be acquainted with the way the devices are connected, which is sometimes counterintuitive. An example of a counterintuitive situation involves a TV and a cable set-top box. To operate such a combination, it may be that to control the volume, a volume-up command should be sent to the TV, not the set-top box, while to change channels, a channel-up command needs to be sent to the set-top box, not to the TV. A user not aware of this fact may send a channel-up command to the TV, causing undesired results, such as the TV no longer displaying the output of the cable set-top box, e.g., resulting in a white screen on the TV. The user at this point may have no idea what to do next. Situations can become even more complex when considering many current home theatre systems, where, for example, the Brighter-picture command should be sent to the TV, the Volume-up command should be sent to the A/V receiver, and the channel-up command should be sent to the cable box.        
Thus, there is a need for simple, intuitive and easy-to-use method of controlling multiple devices, operable by a lay user to a dynamic conglomerate of feature-rich controlled devices.